package com.book.bridge.abst;

import com.book.bridge.function.RegisterLoginFuncInterface;
import com.book.pojo.UserInfo;
import org.springframework.stereotype.Component;

import javax.servlet.http.HttpServletRequest;

/**
 * 这个还不能注入，因为有好几种登录类型
 * RegisterLoginByDefault
 * RegisterLoginByGitee
 *
 * 正确的思路：做工厂模式
 * 我这里的思路，在用的 service（也就是client）的地方，使用
 *  @Resource
 *  Map<String,RegisterLoginFuncInterface> map;
 *  获取所有的bean
 *
 *  然后通过 map.get(beanName); 直接获取对应的登录类型的Bean
 *
 */
public class RegisterLoginComponent extends AbstractRegisterLoginComponent{
    public RegisterLoginComponent(RegisterLoginFuncInterface funcInterface) {
        super(funcInterface);
    }

    @Override
    protected String login(String account, String password) {
        return funcInterface.login(account,password);
    }

    @Override
    protected String register(UserInfo userInfo) {
        return funcInterface.register(userInfo);
    }

    @Override
    protected boolean checkUserExists(String username) {
        return funcInterface.checkUserExists(username);
    }

    @Override
    protected String login3rd(HttpServletRequest request) {
        return funcInterface.login3rd(request);
    }
}
